Enterprises utilize computer systems having a variety of components. For example, these conventional computer systems can include one or more servers and one or more storage units interconnected by one or more communication devices, such as switches or routers. The servers can be configured to execute one or more virtual machines (VMs) during operation. Each VM can be configured to execute or run one or more applications or workloads.
System administrators can struggle with the allocation of resources within conventional computer systems on the compute level, the network level, the storage level and the application or workload level. In one arrangement, issues regarding storage allocation can arise. For example, system administrators can tend to over allocate the amount of compute resources within the system to users in the enterprise due to inability to clearly understand the amount of resources needed to deliver the service levels (SLA) and guarantee of the performance of the workload. Additionally, issues regarding workload allocation within a computer system can arise. For example, in response to an increase in the number of workers employed by an enterprise, a system administrator can increase the number of VMs executed by the servers beyond the actual needs of the workers. Both of these cases can lead either to an increase in the amount of power consumed by the components of the computer system or to an unnecessary increase in the number of components, such as the number of VMs, of the computer system. Either case can increase the overall costs to the enterprise.